<?php

use App\Models\Company;
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
use App\Helpers\DatabaseHelper as DatabaseHelper;

class AlterTablesAddCompanyId extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        //先创建好存储过程
        DatabaseHelper::createStoredProcedures();
        // 添加company_id字段
        $tables = [
            'users',
            'buildings', //宿舍楼
            'dorms', //宿舍
            'dorm_types', //宿舍类型
            'dorm_meters', //计量表
            'staff', //员工
            'staff_positions', //员工职位
            'departments', //部门
            'families', //家属(与员工的company_id字段相同)
            'staff_dorm_adjusts', //宿管记录(与员工的company_id字段相同)
            'staff_period_fees', //费用列表(与员工的company_id字段相同)
            'dorm_meter_records', //抄表记录(与宿舍的company_id字段相同)
            'dorm_meter_adjusts', //表管理记录(与宿舍的company_id字段相同)
            'staff_dorm_histories', //员工宿舍历史(与员工的company_id字段相同)
        ];
        DatabaseHelper::addCompanyIdToMultipleTables($tables);
        //dd($results);

        DatabaseHelper::createTriggers('families', 'staff'); // 创建触发器
        DatabaseHelper::createTriggers('staff_dorm_adjusts', 'staff'); // 创建触发器
        DatabaseHelper::createTriggers('staff_period_fees', 'staff'); // 创建触发器
        DatabaseHelper::createTriggers('dorm_meter_records', 'dorms'); // 创建触发器
        DatabaseHelper::createTriggers('dorm_meter_adjusts', 'dorms'); // 创建触发器
        DatabaseHelper::createTriggers('staff_dorm_histories', 'staff'); // 创建触发器


        DatabaseHelper::alterUniqueIndex(); // 修改唯一索引
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down() {}
}
